package com.wongsi.spring5.config;

import com.wongsi.spring5.service.InventoryService;
import com.wongsi.spring5.service.ProductService;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * @Configuration注解会告知Spring这是一个配置类，会为Spring应用上下文提供bean。
 */
@Configuration
public class ServiceConfiguration {

    // 这个配置类的方法使用@Bean注解进行了标注，
    // 表明这些方法所返回的对象会以bean的形式添加到Spring的应用上下文中
    //（默认情况下，这些bean所对应的bean ID与定义它们的方法名称是相同的）。
    @Bean
    public InventoryService inventoryService() {
        return new InventoryService();
    }

    @Bean
    public ProductService productService() {
        return new ProductService(inventoryService());
    }
}
